Depth mapping using structured light and time of flight

ABSTRACT

A depth camera assembly (DCA) determines distances between the DCA and objects in a local area within a field of view of the DCA. The DCA includes an illumination source that projects a known spatial pattern modulated with a temporal carrier signal into the local area. An imaging device capture the modulated pattern projected into the local area. The imaging device includes a detector that comprises different pixel groups that are each activated to captured light at different times. Hence, different pixel groups capture different phases of the temporally modulated pattern from the local area. The DCA determines times for light from the illumination source to be reflected and captured by the imaging device from the phases captured by the different pixel groups and also determines distances between the DCA and objects in the local area based on deformation of the spatial pattern captured by the imaging device.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of co-pending U.S. application Ser.No. 15/803,328, filed Nov. 3, 2017, which is a continuation of U.S.application Ser. No. 15/268,325, filed Sep. 16, 2016, which claims thebenefit of U.S. Provisional Application No. 62/279,629, filed Jan. 15,2016, which is incorporated by reference in its entirety.

BACKGROUND

The present disclosure generally relates to virtual or augmented realitysystems and more specifically relates to headsets for virtual realitysystems that obtain depth information of a local area.

Virtual reality (VR) systems, or augmented reality (AR) systems, canleverage the capture of the environment surrounding a user in threedimensions (3D). However, traditional depth camera imaging architecturesare comparably large in size, heavy, and consume significant amounts ofpower. Example common depth camera imaging architectures for obtaining3D information of a scene include: time-of-flight (both direct-detectpulses and encoded waveforms), structured light (SL), and stereo vision.Different depth camera imaging architectures provide different strengthsand weaknesses, so certain depth camera imaging architectures mayprovide better performance than others in different operatingconditions. For instance, stereo vision architectures operate well withambient illumination, while time-of-flight architectures having anactive illumination source may be impaired by limitations insignal-to-noise ratio from ambient illumination. However, because of therelatively large size of conventional depth camera imagingarchitectures, many systems including a depth camera typically use asingle type of depth camera imaging architecture configured for aparticular use case. As head-mounted systems are increasingly used toperform a broader range of functions in varied operating conditions andenvironments, selecting a single depth camera imaging architecture toobtain depth information of an area surrounding the head-mounted systemand user may impair the user experience with head-mounted systems.

SUMMARY

A headset in a virtual reality (VR) or augmented reality (AR) systemenvironment includes a depth camera assembly (DCA) configured todetermine distances between the headset and one or more objects in anarea surrounding the headset and within a field of view of an imagingdevice included in the headset (i.e., a “local area”). The DCA includesthe imaging device, such as a camera, and an illumination source that isconfigured to emit a specified pattern, such as a symmetric orquasi-random dots, grid, or horizontal bars, onto a scene. For example,the illumination source emits a grid or a series of horizontal bars ontothe local area. Based on deformation of the pattern when projected ontosurfaces in the local area, the DCA can leverage triangulation todetermine distances between the surfaces and the headset.

In addition to controlling the specified pattern emitted onto the localarea, the DCA also embeds a time-varying intensity to the pattern.Capturing information describing net round-trip times for light emittedfrom the illumination source to be reflected from objects in the localarea back to the imaging device (“time of flight information”), the DCAhas an additional mechanism for capturing depth information of the localarea of the headset. Based on the times for the emitted light to becaptured by the imaging device, the DCA determines distances between theDCA and objects in the local area reflecting the light from theillumination source. For example, the DCA determines a foot of distancebetween the DCA and an object in the local area per approximately two(2) nanoseconds for emitted light to be captured by the imaging deviceincluded in the DCA. To capture time of flight information as well asstructured light information, the illumination source modulates thetemporal and spatial intensity of the pattern emitted by theillumination source with a temporal carrier signal having a specificfrequency, such as 30 megahertz.

The imaging device captures light from the local area, including lightemitted by the illumination source, which is prescribed by a spatial anda temporal profile. To determine time of flight information from theillumination source reflected by objects in the local area, the imagingdevice includes a detector comprising an array of pixel groups. Eachpixel group may include one or more pixels, and different pixel groupsare associated with different phase shifts in integration time relativeto a phase of the carrier signal used by the illumination source tomodulate the emitted pattern. Different pixel groups in the detectorreceive different control signals, so the different pixel groups capturelight at different times specified by the control signal. This allowsdifferent pixel groups in the detector to capture different phases ofthe modulated pattern. For example, four pixel groups nearest to eachother receive different control signals that cause each of the fourpixel groups to capture light at different times, so light captured byeach of the four pixel groups has a ninety (90) degree phase shiftrelative to light captured by other pixel groups in the four pixelgroups. The DCA compares the relative signal between the four pixelgroups to derive a net phase or angle of the carrier signal for anobject position, which will vary across the detector based upon relativefield of view. The derived net phase or angle is based on signaldifferences of the light captured by different pixel groups in thedetector. Using any suitable technique, the DCA compensates for temporaloffsets in the relative signal to determine an image of the structuredpattern emitted onto the local area. For example, the DCA compensatesfor temporal offsets in the relative signal by inverting a phase angleof the relative signal to scale the relative pixel-by-pixel irradiance,summing relative signals from neighboring pixels to remove temporalbias, or perform other suitable operations based on temporal offsets ofthe relative signal and offsets in the derived net phase or angle fromdifferent pixels in the detector. Accordingly, a frame captured by theimaging device in the DCA captures structured light (i.e., spatial) dataand time-of-flight (i.e. temporal) data, improving overall estimation ofdepth information for the local area by the DCA. As structured lightdata and time-of-flight data provide different information for relativedepth of the local area relative to the DCA, capturing structured lightdata and time-of-flight data in a frame improves accuracy, precision,and robustness of depth estimation by the DCA. Capturing structuredlight and time-of-flight data in a single frame also decreases the DCA'ssensitivity to movement or motion variance, allowing the DCA to leveragerelative strengths of both time-of-flight data and structured-light datausing a single detector, providing a smaller, lighter and more costeffective DCA implementation.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a system environment including a virtualreality system, in accordance with an embodiment.

FIG. 2 is a diagram of a virtual reality headset, in accordance with anembodiment.

FIG. 3 is a cross section of a front rigid body of a virtual realityheadset, in accordance with an embodiment.

FIG. 4A is an example of a detector included in an imaging device of adepth camera assembly included in a virtual reality headset, inaccordance with an embodiment.

FIG. 4B is an example of control signals operating the example detectorintegration timing shown in FIG. 4A, in accordance with an embodiment.

FIG. 4C is an example of capturing light by different pixel groups inthe example detector shown in FIG. 4A for a sinusoidal carrier wave, inaccordance with an embodiment.

FIG. 4D is another example of a detector included in an imaging deviceof a depth camera assembly included in a virtual reality headset, inaccordance with an embodiment.

FIG. 5A shows an example arrangement of an imaging device and anillumination source projecting a structured light pattern onto a localarea, in accordance with an embodiment.

FIG. 5B shows an example arrangement of an imaging device and anillumination source projecting a structured light pattern that is bothtemporally and spatially modulated onto a local area, in accordance withan embodiment.

The figures depict embodiments of the present disclosure for purposes ofillustration only. One skilled in the art will readily recognize fromthe following description that alternative embodiments of the structuresand methods illustrated herein may be employed without departing fromthe principles, or benefits touted, of the disclosure described herein.

DETAILED DESCRIPTION System Overview

FIG. 1 is a block diagram of one embodiment of a virtual reality (VR)system environment 100 in which a VR console 110 operates. While FIG. 1shows a VR system environment for purposes of illustration, thecomponents and functionality described herein may also be included in anaugmented reality (AR) system in various embodiments. As used herein, aVR system environment 100 may also include virtual reality systemenvironments that present users with virtual environments with which theuser may interact. The VR system environment 100 shown by FIG. 1comprises a VR headset 105 and a VR input/output (I/O) interface 115that is coupled to a VR console 110. While FIG. 1 shows an examplesystem 100 including one VR headset 105 and one VR I/O interface 115, inother embodiments any number of these components may be included in theVR system environment 100. For example, there may be multiple VRheadsets 105 each having an associated VR I/O interface 115, with eachVR headset 105 and VR I/O interface 115 communicating with the VRconsole 110. In alternative configurations, different and/or additionalcomponents may be included in the VR system environment 100.Additionally, functionality described in conjunction with one or more ofthe components shown in FIG. 1 may be distributed among the componentsin a different manner than described in conjunction with FIG. 1 in someembodiments. For example, some or all of the functionality of the VRconsole 110 is provided by the VR headset 105.

The VR headset 105 is a head-mounted display that presents content to auser comprising augmented views of a physical, real-world environmentwith computer-generated elements (e.g., two dimensional (2D) or threedimensional (3D) images, 2D or 3D video, sound, etc.). In someembodiments, the presented content includes audio that is presented viaan external device (e.g., speakers and/or headphones) that receivesaudio information from the VR headset 105, the VR console 110, or both,and presents audio data based on the audio information. An embodiment ofthe VR headset 105 is further described below in conjunction with FIGS.2 and 3. The VR headset 105 may comprise one or more rigid bodies, whichmay be rigidly or non-rigidly coupled to each other together. A rigidcoupling between rigid bodies causes the coupled rigid bodies to act asa single rigid entity. In contrast, a non-rigid coupling between rigidbodies allows the rigid bodies to move relative to each other.

The VR headset 105 includes a depth camera assembly (DCA) 120, anelectronic display 125, an optics block 130, one or more positionsensors 135, and an inertial measurement Unit (IMU) 140. Someembodiments of The VR headset 105 have different components than thosedescribed in conjunction with FIG. 1. Additionally, the functionalityprovided by various components described in conjunction with FIG. 1 maybe differently distributed among the components of the VR headset 105 inother embodiments.

The DCA 120 captures data describing depth information of an areasurrounding the VR headset 105. Some embodiments of the DCA 120 includeone or more imaging devices (e.g., a camera, a video camera) and anillumination source configured to emit a structured light (SL) pattern.As further discussed below, structured light projects a specifiedpattern, such as a symmetric or quasi-random dot pattern, grid, orhorizontal bars, onto a scene. For example, the illumination sourceemits a grid or a series of horizontal bars onto an environmentsurrounding the VR headset 105. Based on triangulation, or perceiveddeformation of the pattern when projected onto surfaces, depth andsurface information of objects within the scene is determined.

To better capture depth information of the area surrounding the VRheadset 105 the DCA 120 also captures time of flight informationdescribing times for light emitted from the illumination source to bereflected from objects in the area surrounding the VR headset 105 backto the one or more imaging devices. In various implementations, the DCA120 captures time-of-flight information simultaneously ornear-simultaneously with structured light information. Based on thetimes for the emitted light to be captured by one or more imagingdevices, the DCA 120 determines distances between the DCA 120 andobjects in the area surrounding the VR headset 105 that reflect lightfrom the illumination source. To capture time of flight information aswell as structured light information, the illumination source modulatesthe emitted SL pattern with a carrier signal having a specificfrequency, such as 30 MHz (in various embodiments, the frequency may beselected from a range of frequencies between 5 MHz and 5 GHz).

The imaging devices capture and record particular ranges of wavelengthsof light (i.e., “bands” of light). Example bands of light captured by animaging device include: a visible band (˜380 nm to 750 nm), an infrared(IR) band (˜750 nm to 2,200 nm), an ultraviolet band (100 nm to 380 nm),another portion of the electromagnetic spectrum, or some combinationthereof. In some embodiments, an imaging device captures imagesincluding light in the visible band and in the infrared band. To jointlycapture light from the structured light pattern that is reflected fromobjects in the area surrounding the VR headset 105 and determine timesfor the carrier signal from the illumination source to be reflected fromobjects in the area to the DCA 120, the imaging device includes adetector comprising an array of pixel groups. Each pixel group includesone or more pixels, and different pixel groups are associated withdifferent phase shifts relative to a phase of the carrier signal. Invarious embodiments, different pixel groups are activated at differenttimes relative to each other to capture different temporal phases of thepattern modulated by the carrier signal emitted by the illuminationsource. For example, pixel groups are activated at different times sothat adjacent pixel groups capture light having approximately a 90, 180,or 270 degree phase shift relative to each other. The DCA 120 derives aphase of the carrier signal, which is equated to a depth from the DCA120, from signal data captured by the different pixel groups. Thecaptured data also generates an image frame of the spatial pattern,either through summation of the total pixel charges across the timedomain, or after correct for the carrier phase signal. The DCA 120 isfurther described below in conjunction with FIGS. 3-4D.

The electronic display 125 displays 2D or 3D images to the user inaccordance with data received from the VR console 110. In variousembodiments, the electronic display 125 comprises a single electronicdisplay or multiple electronic displays (e.g., a display for each eye ofa user). Examples of the electronic display 125 include: a liquidcrystal display (LCD), an organic light emitting diode (OLED) display,an active-matrix organic light-emitting diode display (AMOLED), someother display, or some combination thereof.

The optics block 130 magnifies image light received from the electronicdisplay 125, corrects optical errors associated with the image light,and presents the corrected image light to a user of the VR headset 105.In various embodiments, the optics block 130 includes one or moreoptical elements. Example optical elements included in the optics block130 include: an aperture, a Fresnel lens, a convex lens, a concave lens,a filter, a reflecting surface, or any other suitable optical elementthat affects image light. Moreover, the optics block 130 may includecombinations of different optical elements. In some embodiments, one ormore of the optical elements in the optics block 130 may have one ormore coatings, such as anti-reflective coatings.

Magnification and focusing of the image light by the optics block 130allows the electronic display 125 to be physically smaller, weigh lessand consume less power than larger displays. Additionally, magnificationmay increase the field of view of the content presented by theelectronic display 125. For example, the field of view of the displayedcontent is such that the displayed content is presented using almost all(e.g., approximately 110 degrees diagonal), and in some cases all, ofthe user's field of view. Additionally in some embodiments, the amountof magnification may be adjusted by adding or removing optical elements.

In some embodiments, the optics block 130 may be designed to correct oneor more types of optical error. Examples of optical error include barreldistortions, pincushion distortions, longitudinal chromatic aberrations,or transverse chromatic aberrations. Other types of optical errors mayfurther include spherical aberrations, comatic aberrations or errors dueto the lens field curvature, astigmatisms, or any other type of opticalerror. In some embodiments, content provided to the electronic display125 for display is pre-distorted, and the optics block 130 corrects thedistortion when it receives image light from the electronic display 125generated based on the content.

The IMU 140 is an electronic device that generates data indicating aposition of the VR headset 105 based on measurement signals receivedfrom one or more of the position sensors 135 and from depth informationreceived from the DCA 120. A position sensor 135 generates one or moremeasurement signals in response to motion of the VR headset 105.Examples of position sensors 135 include: one or more accelerometers,one or more gyroscopes, one or more magnetometers, another suitable typeof sensor that detects motion, a type of sensor used for errorcorrection of the IMU 140, or some combination thereof. The positionsensors 135 may be located external to the IMU 140, internal to the IMU140, or some combination thereof.

Based on the one or more measurement signals from one or more positionsensors 135, the IMU 140 generates data indicating an estimated currentposition of the VR headset 105 relative to an initial position of the VRheadset 105. For example, the position sensors 135 include multipleaccelerometers to measure translational motion (forward/back, up/down,left/right) and multiple gyroscopes to measure rotational motion (e.g.,pitch, yaw, roll). In some embodiments, the IMU 140 rapidly samples themeasurement signals and calculates the estimated current position of theVR headset 105 from the sampled data. For example, the IMU 140integrates the measurement signals received from the accelerometers overtime to estimate a velocity vector and integrates the velocity vectorover time to determine an estimated current position of a referencepoint on the VR headset 105. Alternatively, the IMU 140 provides thesampled measurement signals to the VR console 110, which interprets thedata to reduce error. The reference point is a point that may be used todescribe the position of the VR headset 105. The reference point maygenerally be defined as a point in space or a position related to the VRheadset's 105 orientation and position.

The IMU 140 receives one or more parameters from the VR console 110. Asfurther discussed below, the one or more parameters are used to maintaintracking of the VR headset 105. Based on a received parameter, the IMU140 may adjust one or more IMU parameters (e.g., sample rate). In someembodiments, certain parameters cause the IMU 140 to update an initialposition of the reference point so it corresponds to a next position ofthe reference point. Updating the initial position of the referencepoint as the next calibrated position of the reference point helpsreduce accumulated error associated with the current position estimatedthe IMU 140. The accumulated error, also referred to as drift error,causes the estimated position of the reference point to “drift” awayfrom the actual position of the reference point over time. In someembodiments of the VR headset 105, the IMU 140 may be a dedicatedhardware component. In other embodiments, the IMU 140 may be a softwarecomponent implemented in one or more processors.

The VR I/O interface 115 is a device that allows a user to send actionrequests and receive responses from the VR console 110. An actionrequest is a request to perform a particular action. For example, anaction request may be an instruction to start or end capture of image orvideo data or an instruction to perform a particular action within anapplication. The VR I/O interface 115 may include one or more inputdevices. Example input devices include: a keyboard, a mouse, a gamecontroller, or any other suitable device for receiving action requestsand communicating the action requests to the VR console 110. An actionrequest received by the VR I/O interface 115 is communicated to the VRconsole 110, which performs an action corresponding to the actionrequest. In some embodiments, the VR I/O interface 115 includes an IMU140, as further described above, that captures calibration dataindicating an estimated position of the VR I/O interface 115 relative toan initial position of the VR I/O interface 115. In some embodiments,the VR I/O interface 115 may provide haptic feedback to the user inaccordance with instructions received from the VR console 110. Forexample, haptic feedback is provided when an action request is received,or the VR console 110 communicates instructions to the VR I/O interface115 causing the VR I/O interface 115 to generate haptic feedback whenthe VR console 110 performs an action.

The VR console 110 provides content to the VR headset 105 for processingin accordance with information received from one or more of: the DCA120, the VR headset 105, and the VR I/O interface 115. In the exampleshown in FIG. 1, the VR console 110 includes an application store 150, atracking module 155 and a VR engine 145. Some embodiments of the VRconsole 110 have different modules or components than those described inconjunction with FIG. 1. Similarly, the functions further describedbelow may be distributed among components of the VR console 110 in adifferent manner than described in conjunction with FIG. 1.

The application store 150 stores one or more applications for executionby the VR console 110. An application is a group of instructions, thatwhen executed by a processor, generates content for presentation to theuser. Content generated by an application may be in response to inputsreceived from the user via movement of the VR headset 105 or the VR I/Ointerface 115. Examples of applications include: gaming applications,conferencing applications, video playback applications, or othersuitable applications.

The tracking module 155 calibrates the VR system environment 100 usingone or more calibration parameters and may adjust one or morecalibration parameters to reduce error in determination of the positionof the VR headset 105 or of the VR I/O interface 115. For example, thetracking module 155 communicates a calibration parameter to the DCA 120to adjust the focus of the DCA 120 to more accurately determinepositions of SL elements captured by the DCA 120. Calibration performedby the tracking module 155 also accounts for information received fromthe IMU 140 in the VR headset 105 and/or an IMU 140 included in the VRI/O interface 115. Additionally, if tracking of the VR headset 105 islost (e.g., the DCA 120 loses line of sight of at least a thresholdnumber of SL elements), the tracking module 140 may re-calibrate some orall of the VR system environment 100.

The tracking module 155 tracks movements of the VR headset 105 or of theVR I/O interface 115 using information from the DCA 120, the one or moreposition sensors 135, the IMU 140 or some combination thereof. Forexample, the tracking module 155 determines a position of a referencepoint of the VR headset 105 in a mapping of a local area based oninformation from the VR headset 105. The tracking module 155 may alsodetermine positions of the reference point of the VR headset 105 or areference point of the VR I/O interface 115 using data indicating aposition of the VR headset 105 from the IMU 140 or using data indicatinga position of the VR I/O interface 115 from an IMU 140 included in theVR I/O interface 115, respectively. Additionally, in some embodiments,the tracking module 155 may use portions of data indicating a positionof the VR headset 105 from the IMU 140 as well as representations of thelocal area from the DCA 120 to predict a future location of the VRheadset 105. The tracking module 155 provides the estimated or predictedfuture position of the VR headset 105 or the VR I/O interface 115 to theVR engine 145.

The VR engine 145 generates a 3D mapping of the area surrounding the VRheadset 105 (i.e., the “local area”) based on information received fromthe VR headset 105. In some embodiments, the VR engine 145 determinesdepth information for the 3D mapping of the local area based on imagesof deformed SL elements captured by the DCA 120 of the VR headset 105,based on elapsed times for light emitted by the DCA 120 to be detectedby the DCA 120 after being reflected by one or more objects in the areasurrounding the VR headset 105, or based on a combination of images ofdeformed SL elements captured by the DCA 120 and elapsed times for lightemitted by the DCA 120 to be detected by the DCA 120 after beingreflected by one or more objects in the area surrounding the VR headset105. In various embodiments, the VR engine 145 uses different types ofinformation determined by the DCA 120 or a combination of types ofinformation determined by the DCA 120.

The VR engine 145 also executes applications within the VR systemenvironment 100 and receives position information, accelerationinformation, velocity information, predicted future positions, or somecombination thereof, of the VR headset 105 from the tracking module 155.Based on the received information, the VR engine 145 determines contentto provide to the VR headset 105 for presentation to the user. Forexample, if the received information indicates that the user has lookedto the left, the VR engine 145 generates content for the VR headset 105that mirrors the user's movement in a virtual environment or in anenvironment augmenting the local area with additional content.Additionally, the VR engine 145 performs an action within an applicationexecuting on the VR console 110 in response to an action requestreceived from the VR I/O interface 115 and provides feedback to the userthat the action was performed. The provided feedback may be visual oraudible feedback via the VR headset 105 or haptic feedback via the VRI/O interface 115.

FIG. 2 is a wire diagram of one embodiment of a VR headset 200. The VRheadset 200 is an embodiment of the VR headset 105, and includes a frontrigid body 205, a band 210, a reference point 215, a left side 220A, atop side 220B, a right side 220C, a bottom side 220D, and a front side220E. The VR headset 200 shown in FIG. 2 also includes an embodiment ofa depth camera assembly (DCA) 120 including a camera, 225 and aillumination source 230, which are further described below inconjunction with FIGS. 3 and 4. The front rigid body 205 includes one ormore electronic display elements of the electronic display 125 (notshown), the IMU 130, the one or more position sensors 135, and thereference point 215.

In the embodiment shown by FIG. 2, the VR headset 200 includes a DCA 120comprising a camera 225 and an illumination source 230 configured toproject a known spatial pattern (e.g., a grid, a series of lines, apattern of symmetrical or quasi-randomly oriented dots) onto the localarea. For example, the spatial pattern comprises one or more geometricalelements of known width and height, allowing calculation of deformationof various geometrical elements when the spatial pattern is projectedonto the local area to provide information about the objects in thelocal area. The illumination source 230 temporally modulates the knownspatial pattern with a carrier signal having a specified frequency. Invarious embodiments, the illumination source 230 includes a controller(e.g., a processor) coupled to the light emitter, with the controllerconfigured to modulate light emitted by the light emitter by a carriersignal to vary intensity of the light emitted by the light emitter overtime based on variation of the carrier signal. When the light emitteremits a known spatial pattern (i.e., a “pattern of structured light” ora “structured light pattern”), the intensity of the known spatialpattern varies over time based on the carrier signal. For example, theillumination source 230 includes a light emitter coupled to a controllerthat modulates a known spatial pattern with a sine wave having afrequency of 10 MHz, with a square wave having a frequency of 100 MHz,or with any other suitable signal. The camera 225 captures images of thelocal area, which are used to calculate a depth image of the local area,as further described below in conjunction with FIGS. 3-4B.

FIG. 3 is a cross section of the front rigid body 205 of the VR headset200 depicted in FIG. 2. As shown in FIG. 3, the front rigid body 205includes an imaging device 225 and an illumination source 230. Alsoshown in the example of FIG. 3, the front rigid body 205 includes aprocessor 315 coupled to the imaging device 225. However, in otherembodiments, the processor 315 is included in the imaging device 225.The front rigid body 205 also has an optical axis corresponding to apath along which light propagates through the front rigid body 205. Insome embodiments, the imaging device 225 is positioned along the opticalaxis and captures images of a local area 305, which is a portion of anenvironment surrounding the front rigid body 205 within a field of viewof the imaging device 225. Additionally, the front rigid body 205includes the electronic display 125 and the optics block 130, which arefurther described above in conjunction with FIG. 1. The front rigid body205 also includes an exit pupil 335 where the user's eye 340 is located.For purposes of illustration, FIG. 3 shows a cross section of the frontrigid body 205 in accordance with a single eye 340. The local area 305reflects incident ambient light as well as light projected by theillumination source 230.

As described above in conjunction with FIG. 1, the electronic display125 emits light forming an image toward the optics block 130, whichalters the light received from the electronic display 125. The opticsblock 130 directs the altered image light to the exit pupil 335, whichis a location of the front rigid body 205 where a user's eye 340 ispositioned. FIG. 3 shows a cross section of the front rigid body 205 fora single eye 340 of the user, with another electronic display 125 andoptics block 130, separate from those shown in FIG. 3, included in thefront rigid body 205 to present content, such as an augmentedrepresentation of the local area 305 or virtual content, to another eyeof the user.

The depth camera assembly (DCA) 120 including the illumination source230 and the imaging device 225 captures information describing times forlight emitted from the illumination source 230 to be reflected fromobjects in the local area 305 back to the imaging device 225 as well asimages of a structured light pattern projected onto to local area 305 bythe illumination source 230 using a detector. In various embodiments,the detector is included in the imaging device 225. As described above,to capture the times for light from the illumination source 230 to bereflected from objects in the local area 305, the illumination source230 modulates a structured light pattern with a carrier signal having aspecified frequency. For example, the illumination source 230 modulatesthe structured light pattern with a 10 MHz sine wave, causing the lightemitted by the illumination source 230 to vary in intensity over timebased on the carrier signal.

To capture both the spatial and temporal modulated light pattern, theimaging device 225 includes a detector comprising multiple groups ofpixels. FIG. 4A shows an example detector 400 included in the imagingdevice 225. The detector 400 in FIG. 4A includes different pixel groups410, 415, 420, 425 that each receive different control signalsactivating the pixel groups 410, 415, 420, 425 to capture image data.Having different pixel groups 410, 415, 420, 425 receive differentcontrol signals allows the different pixel groups 410, 415, 420, 425 tocapture image data with offset, yet controlled, timing sequences. Forexample, when a control signal received by a pixel group 410, 415, 420,425 has a particular value, the pixel group 410, 415, 420, 425 captureslight from the local area 305, and when the control signal has analternative value, the pixel group 410, 415, 420, 425 does not capturelight from the local area 305. Pixel groups 410, 415, 420, 425 in thedetector 400 are positioned relative to each other so that pixel groups410, 415, 420, 425 nearest to each other capture light at differenttimes, resulting in a specific phase shift between light captured by thepixel groups 410, 415, 420, 425 nearest to each other. In the example ofFIG. 4A, pixel group 410, pixel group 415, pixel group 420, and pixelgroup 425 capture light at different times, so light captured by pixelgroup 410 has a 90 degree phase shift relative to light captured bypixel group 415, which has a 90 degree phase shift relative to pixelgroup 420 (and a 180 degree phase shift relative to pixel group 410).However, in other embodiments, light captured by a pixel group 410 hasany suitable specific phase shift relative to light captured by otherpixel groups 415, 420, 425 nearest to the pixel group 410 (e.g., a 45degree phase shift, a 10 degree phase shift, etc.). Also in the exampleof FIG. 4, pixel group 425 has a 90 degree phase shift to pixel group420 (and a 270 degree phase shift to pixel group 410). Similarly, eachof pixel group 415, pixel group 420, and pixel group 425 capture lightwith a 90 degree phase shift relative to the other pixel groups 410,415, 420, 425. For example, pixel group 410, pixel group 415, pixelgroup 420, and pixel group 425 capture light with a phase shift of 0degrees, a phase shift of 90 degrees, a phase shift of 180 degrees, anda phase shift of 270 degrees, respectively. In various embodiments,pixel groups 410, 415, 420, 425 are arranged in the detector 400 in arepeating pattern. For example, the detector 400 includes multiple 2 by2 grids each including pixel groups 410, 415, 420, 425 arranged relativeto each other as shown in FIG. 4A.

The processor 310 coupled to the imaging device 225 (or included in theimaging device 225) receives data from the imaging device 225 anddetermines a phase of the carrier signal that temporally modulatedpattern of structured light, as further described below. Based on thedetermined phase of the carrier signal, the processor 310 determines atime for the modulated pattern of structured light to be reflected byone or more objects in the local area and captured by the detector 400of the imaging device 225. From the times determined for reflection ofthe pattern of structured light by different objects in the local area,the processor 310 determines distances from the detector 400 to one ormore objects in the local area and generates a frame including thepattern of structured light from the light captured by each pixel group410, 415, 420, 425 in the detector 400.

FIG. 4B shows an example of control signals received by different pixelgroups 410, 415, 420, and 425 in the detector 400. In the example ofFIG. 4B, when a control signal has a maximum value, a pixel group 410,415, 420, 425 receiving the control signal captures light, while pixelgroups 410, 415, 420, 425 receiving different control signals do notcapture light. Similarly, when the control signal has a minimum value, apixel group 410, 415, 420, 425 receiving the control signal does notcapture light. As shown by FIG. 4B, the control signals for differentpixel groups 410, 415, 420, 425 have maximum values at different times,so a single pixel group 410, 415, 420, 425 captures light at aparticular time. For example, when the control signal received by pixelgroup 415 has a maximum value, control signals received by pixel groups410, 420, 425 have minimum values, so pixel groups 410, 420, 425 do notcapture light while pixel group 415 captures light. Different pixelgroups 410, 415, 420, 425 serially capture light based on their controlsignals. When light is captured from each pixel group 410, 415, 420,425, the detector generates a frame. In various embodiments, light iscaptured from each pixel group 410, 415, 420, 425 multiple times, andthe detector generates a frame from the accumulated light captured bythe pixel groups 410, 415, 420, 425 to improve a signal-to-noise ratioof the frame. Capturing light from different pixel groups 410, 415, 420,425 at different times is repeated for a subsequent frame, with anamount of time light is captured for a frame determined by an overallintegration time for each frame and a frame rate of the imaging device225.

Hence, in an embodiment, different pixel groups 410, 415, 420, 425capture light from the local area 305 at different offset times, whichare a fraction of a round-trip time of a frequency of the carrier signalmodulating the spatial pattern. For example, FIG. 4C shows an examplesinusoidal carrier signal 430 with which the illumination source 230modulates the structured light pattern. FIG. 4C identifies the differentpixel groups 410, 415, 420, 425 capturing light including the carriersignal 430 at different times. Hence, pixel group 410 captures lightincluding a portion of the carrier signal 430 during times when thecontrol signal received by the pixel group 410 has a maximum value,while pixel groups 415, 420, 425 do not capture light including portionsof the carrier signal 430. The remaining pixel groups 415, 420, 425similarly each capture portions of the carrier signal 430 during timeintervals when control signals received by a corresponding pixel groups415, 420, 425 have a maximum value. While FIG. 4C shows the carriersignal 430 as a sine wave, in other embodiments, the carrier signal 430may be a square wave or any other signal having a combination offrequencies and harmonics. Hence, in the example of FIGS. 4A-4C, whenpixel group 410 captures light, the remaining pixel groups 415, 420, 245do not capture light, so when a single pixel group is capturing light,the remaining three pixel groups do not capture light for that relativeframe. After each pixel group 410, 415, 420, 425 captures light for asingle serial pattern, the sequence is repeated during the integrationtime for a frame captured by the imaging device 225.

Based on the intensity of light received by different pixel groups 410,415, 420, 425 in the image capture device 320, the DCA 120 determines aphase of the carrier signal. For example, the DCA 120 determines adifference between light captured by pixel group 425 and light capturedby pixel group 415. Additionally, the DCA 120 determines an additionaldifference between light captured by pixel group 410 and light capturedby pixel group 420. In the example configuration of the detector 400shown in FIG. 4A (which is a minimum quadrature arrangement), the DCA120 determines the phase of the carrier signal as an arctangent of aratio of the difference to the additional difference. Using thedetermined phase, the DCA 120 determines times from light emitted fromthe illumination source 230 to be reflected back to the imaging device225 by objects in the local area 305. From the determined times, the DCA120 determines distances between the DCA 120 and various objects in thelocal area 305 using one or more time-of-flight methods. Additionally,using the determined phase, the DCA 120 combines the light captured bydifferent pixel groups 410, 415, 420, 425 into a frame that allows thestructured light pattern emitted from the illumination source 310 toprovide further depth information for the local area 305. Distancesdetermined by the one or more time of flight methods provides distanceinformation between objects in the local area 305 and the DCA 120, whileanalysis of the structured light pattern captured by the imaging device225 provides a related but unique distance measurement between objectsin the local area 305 and the DCA 120.

FIG. 4D shows another example of a detector 405 included in an imagingdevice of a depth camera assembly 120. In the detector 400 described inconjunction with FIGS. 4A-4C, different pixel groups 410, 415, 420, 425in the detector 400 are illustrated to capture light for fractions of anintegration time for the imaging device 225 to generate a frame. In theexample of FIG. 4D, each pixel group 410, 415, 420, 425 of the detector405 includes multiple charge storage regions per each pixel, which maybe implemented via software or hardware, such as a circulator or aswitch. This allows each pixel group 410, 415, 420, 425 to continuouslycapture light during an integration time, and dynamically vary thelocation to which current generated from captured light is coupled basedon frequency and phase timing of the carrier signal 430. Chargeaccumulated from light captured by different pixel groups 410, 415, 420,425 is accumulated in different locations (e.g., memory or capacitors),providing different sub-windows, shown as highlighted rectangles in FIG.4D. As shown in FIG. 4D, sub-windows are combined along a diagonal toillustrate sub-windows having a 90 degree phase shift relative to eachother. Sub-windows from each pixel group 410, 415, 420, 425, arecombined in phase to increase the signal-to-noise ratio and to generatea frame for a time-of-flight measurement. Hence, light captured bydifferent pixel groups 410, 415, 420, 425 at different times is combinedvia the previously discussed method to extract the phase of the carriersignal 430. In the example of FIG. 4D, the highlighted sub-windowswithin a specified maximum integration time are combined, as each pixelgroup 410, 415, 420, 425 continuously captures light and varieslocations where charge from the captured light is accumulated at a phaseof the carrier frequency. For example, each pixel group 410, 415, 420,425 of the detector 405 of FIG. 4D simultaneously captures light andaccumulates charge in a location corresponding to a pixel group 41, 415,420, 425 capturing light, with the location in which charge accumulatedby a pixel group 410, 415, 420, 425 changing based on the carrier signal430 to preserve the phase of the carrier frequency. In some embodiments,each pixel group 410, 415, 420, 425 of the detector 405 shown in FIG. 4Dis configured to capture light at up to a 100 percent duty cycle,allowing multiple pixel groups 410, 415, 420, 425 of the detector 405 tocontinuously and simultaneously accumulate charge from light captured bymultiple pixel groups 410, 415, 420, 425 in some embodiments. As furtherdescribed above, a phase angle determined by different pixel groups 410,415, 420, 425 allows correction of radiometric differences to analyzethe structured light pattern. Additionally, in the example of FIG. 4D,continuous capture of light by different pixel groups 410, 415, 420, 425allows passive correction for a structured light image analysis. Bysumming the full charge captured over the full integration window foreach pixel group 410, 415, 420, 425, the detector 405 operates as animage capture device, such as a camera, as there appears to be no offsetin the pixel level integration timing. Hence, the detector 405 shown inFIG. 4D reduces the potential for correlated fixed pattern, temporal, orsystemic noise by minimizing the effect of temporal modulation on thestructured light algorithm.

FIG. 5A shows an example arrangement of an imaging device 225 and anillumination source 230 projecting a structured light pattern (alsoreferred to as a spatial pattern) onto a local area. In FIG. 5A, theexample spatial pattern comprises vertical bars projected within a fieldof view of the illumination source 230. Through scattered or directreflection the spatial pattern is captured by a detector in the imagingdevice 225, which through triangulation with the illumination source 230allows structure light methods to extract the three-dimensional layoutof the local area.

FIG. 5B shows an example arrangement of an imaging device 225 and anillumination source 230 projecting a structured light pattern (alsoreferred to as a spatial pattern) from the illumination source 230 thatis also temporally modulated. In FIG. 5B, temporal modulation is shownby rectangular regions at approximately equal distances from theillumination source 230 before reaching the local area. The spatialpattern is shown in FIG. 5B as four vertical bars for purposes ofillustration. Hence, the imaging device 225 and the illumination source230 in FIG. 5B allow capture of the spatial pattern and time-of-flightinformation to provide both spatial and temporal methods to extract thelocal area depth, respectively. As described above in conjunction withFIGS. 3-4D, the imaging device 225 includes a common detector to captureboth spatial and temporal information by controlling phase offsetsbetween different pixel groups 410, 415, 420, 425 in the imaging device225.

The foregoing description of the embodiments has been presented for thepurpose of illustration; it is not intended to be exhaustive or to limitthe patent rights to the precise forms disclosed. Persons skilled in therelevant art can appreciate that many modifications and variations arepossible in light of the above disclosure.

The language used in the specification has been principally selected forreadability and instructional purposes, and it may not have beenselected to delineate or circumscribe the inventive subject matter. Itis therefore intended that the scope of the patent rights be limited notby this detailed description, but rather by any claims that issue on anapplication based hereon. Accordingly, the disclosure of the embodimentsis intended to be illustrative, but not limiting, of the scope of thepatent rights.

What is claimed is:
 1. An apparatus comprising: a light emitterconfigured to emit temporally modulated structured light; a detectorcomprising a plurality of pixel groups configured to capture, atdifferent offset times, intensities of the temporally modulatedstructured light reflected from one or more objects in a local area; anda processor configured to: determine temporal information based on aportion of the captured intensities, determine spatial information basedon the captured intensities, and determine depth information for the oneor more objects in the local area based on the temporal information andthe spatial information.
 2. The apparatus of claim 1, wherein theprocessor is further configured to control operation of the plurality ofpixel groups such that adjacent pixel groups of the plurality of thepixel groups in the detector capture the light intensities at thedifferent offset times.
 3. The apparatus of claim 1, wherein a lightsignal of the reflected light captured by a pixel group of the pluralityof pixel groups has a phase shift relative to another light signal ofthe reflected light captured by another pixel group of the plurality ofpixel groups adjacent to the pixel group.
 4. The apparatus of claim 1,wherein the plurality of pixel groups are arranged in a repeatingpattern comprising a square-shaped grid, each pixel group in the gridcaptures a light signal of the reflected light having a phase shiftrelative to another light signal of the reflected light captured byanother pixel group in the grid.
 5. The apparatus of claim 1, whereinthe processor is further configured to: determine a phase of a carriersignal that temporally modulates the structured light, based on theportion of the captured intensities; determining a time for thetemporally modulated structured light to be reflected by an object ofthe one or more objects and captured by the detector; determining adistance from the detector to the object from the determined time; anddetermine the depth information based in part on the determineddistance.
 6. The apparatus of claim 1, wherein the processor is furtherconfigured to: generate a plurality of control signals, each controlsignal having a value when other control signals of the plurality ofcontrol signals have an alternative value; and provide the plurality ofcontrol signals to the plurality of pixel groups so that each pixelgroup captures a light signal of the reflected light during a timeoffset when a corresponding control signal has the value.
 7. Theapparatus of claim 1, wherein the processor is further configured to:determine a difference between two intensities of the reflected lightcaptured by a pixel group of the plurality of pixel groups and byanother pixel group of the plurality of pixel groups adjacent to thepixel group; determine an additional difference between other twointensities of the reflected light captured by an alternative pixelgroup of the plurality of pixel groups and a further pixel group of theplurality of pixel groups adjacent to the alternative pixel group, thealternative pixel group and the further pixel group adjacent to thepixel group; determine a phase of a carrier signal that temporallymodulates the structured light, based on a ratio of the difference tothe additional difference; and determine the temporal information basedin part on the determined phase.
 8. The apparatus of claim 7, whereinthe processor is further configured to: determine the phase of thecarrier signal as an arctangent of the difference to the additionaldifference.
 9. The apparatus of claim 1, wherein: each pixel group ofthe plurality of pixel groups includes multiple charge storage regionsper each pixel in that pixel group; and each pixel group captures thereflected light and accumulates a charge from the captured reflectedlight in a corresponding charge storage region based in part on phasetiming of a carrier signal that temporally modulates the structuredlight.
 10. The apparatus of claim 9, wherein the processor is furtherconfigured to: determine a phase of the carrier signal based on thecharge accumulated in the corresponding charge storage region and othercharges accumulated in corresponding charge storage regions of otherpixel groups of the plurality of pixel groups; and determine thetemporal information based in part on the determined phase.
 11. Theapparatus of claim 9, wherein: each pixel group captures the reflectedlight and accumulates charges from the captured reflected light in thecharge storage regions during an integration time, and the processor isfurther configured to determine the spatial information based in part onthe accumulated charges for each pixel group.
 12. A method comprising:generating temporally modulated structured light that illuminates alocal area; capturing, by a plurality of pixel groups at differentoffset times, intensities of the temporally modulated structured lightreflected from one or more objects in the local area; determiningtemporal information based on a portion of the captured intensities;determining spatial information based on the captured intensities; anddetermining depth information for the one or more objects in the localarea based on the temporal information and the spatial information. 13.The method of claim 12, further comprising: controlling operation of theplurality of pixel groups such that adjacent pixel groups of theplurality of the pixel groups capture the light intensities at thedifferent offset times.
 14. The method of claim 12, further comprising:controlling operation of the plurality of pixel groups such that a lightsignal of the reflected light captured by a pixel group of the pluralityof pixel groups has a phase shift relative to another light signal ofthe reflected light captured by another pixel group of the plurality ofpixel groups adjacent to the pixel group.
 15. The method of claim 12,wherein the plurality of pixel groups are arranged in a repeatingpattern comprising a square-shaped grid, and the method furthercomprising: controlling operation of the plurality of pixel groups suchthat each pixel group in the grid captures a light signal of thereflected light having a phase shift relative to another light signal ofthe reflected light captured by another pixel group in the grid.
 16. Themethod of claim 12, further comprising: determining a phase of a carriersignal that temporally modulates the structured light, based on theportion of the captured intensities; determining a time for thetemporally modulated structured light to be reflected by an object ofthe one or more objects and captured; determining a distance to theobject based on the determined time; and determining the depthinformation based in part on the determined distance.
 17. The method ofclaim 12, further comprising: generating a plurality of control signals,each control signal having a value when other control signals of theplurality of control signals have an alternative value; and providingthe plurality of control signals to the plurality of pixel groups sothat each pixel group captures a light signal of the reflected lightduring a time offset when a corresponding control signal has the value.18. The method of claim 12, further comprising: determining a differencebetween two intensities of the reflected light captured by a pixel groupof the plurality of pixel groups and by another pixel group of theplurality of pixel groups adjacent to the pixel group; determining anadditional difference between other two intensities of the reflectedlight captured by an alternative pixel group of the plurality of pixelgroups and a further pixel group of the plurality of pixel groupsadjacent to the alternative pixel group, the alternative pixel group andthe further pixel group adjacent to the pixel group; determining a phaseof a carrier signal that temporally modulates the structured light,based on a ratio of the difference to the additional difference; anddetermining the temporal information based in part on the determinedphase.
 19. The method of claim 12, further comprising: capturing, byeach pixel group, the reflected light and accumulating a charge from thecaptured reflected light in a corresponding charge storage region ofthat pixel group based in part on phase timing of a carrier signal thattemporally modulates the structured light; determining a phase of thecarrier signal based on the charge accumulated in the correspondingcharge storage region and other charges accumulated in correspondingcharge storage regions of other pixel groups of the plurality of pixelgroups; and determining the temporal information based in part on thedetermined phase.
 20. The method of claim 12, further comprising:capturing, by each pixel group, the reflected light and accumulatingcharges from the captured reflected light in multiple charge storageregions of that pixel group during an integration time; and determiningthe spatial information based in part on the accumulated charges foreach pixel group.